package com.redhat.auth.log.application;

import java.util.List;

import com.redhat.auth.log.core.domain.BizLogInfo;
import com.redhat.auth.log.web.LogNode;

public interface LogApplication {
	
	/**
	 * 获取所有的业务操作类型
	 * @return
	 */
	public List<String> getBizOperations();
	
	
	/**
	 * 获取某一种业务下的所有操作
	 * @param bizType
	 * @return
	 */
	public List<LogNode> getBizTypes(String bizOperation);
	
	/**
	 * 根据指定业务名，业务操作类型，查询出对应的业务记录
	 * @param bizOperation
	 * @param bizType
	 * @return
	 */
	public List<BizLogInfo> getBizLogInfo(String bizOperation,String bizType);
	
	/**
	 * 返回一个业务描述
	 * @param language 获取指定业务描述的语言
 	 * @param key      获取指定业务描述的KEY
	 * @param value    从数据库中获取来的存储值
	 * @return
	 */
	public String getLogDescription(String language,String bizType,String bizOperation,String value);
	
	/**
	 * 根据主键返回一个BizLogInfo
	 * @param logId
	 * @return
	 */
	public BizLogInfo getBizLogInfo(long logId);
}
